package cn.cvs.web.converter;

import org.apache.log4j.Logger;
import org.springframework.core.convert.converter.Converter;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 自定义的字符串转日期转换器
 */
public class String2DateConverter implements Converter<String, Date> {
    private Logger logger = Logger.getLogger(String2DateConverter.class);

    private String datePattern;

    /**
     * 一个日期格式参数的构造函数
     * @param datePattern 日期格式
     */
    public String2DateConverter(String datePattern){
        logger.info("加载String2DateConverter");
        this.datePattern = datePattern;
    }

    /**
     * 具体的字符串转日期功能方法
     * @param s
     * @return
     */
    @Override
    public Date convert(String s) {
        Date date = null;
        try {
            date =  new SimpleDateFormat(datePattern).parse(s);
            logger.info("String2DateConverter convert date:" + date);
        } catch (ParseException e) {
            logger.error("日期转换失败：" + s );
            e.printStackTrace();
        }
        return date;
    }
}
